草庐IT

Java Quartz 作业持久化

全部标签

hadoop - 所有任务尝试都已完成,但 mapreduce 中的作业失败

我处理8个map任务和1个reduce任务。尽管所有映射任务尝试都已成功完成,但映射缩减作业失败了。我的示例代码来自Hadoop初学者指南(GarryTurkington),它是为跳过数据而运行的。程序的主要思想是测试mapreduce中的任务失败。虽然导致失败的数据(示例中的skiptext)在源文件中,但mapreduce可以成功完成这项工作。但是,我没有完成工作,遇到工作失败。我该怎么办?完整的源代码是:importjava.io.IOException;importorg.apache.hadoop.conf.*;importorg.apache.hadoop.fs.Path;

java - Java 库路径 Cloudera 中没有 Hadoop。提交 Java 作业时

我正在尝试运行一个Java程序。Java程序用于记录Hbase中的数据。当我运行代码时,我遇到了javalib路径中没有hadoop的问题。错误如下org.apache.hadoop.util.NativeCodeLoader-Failedtoloadnative-hadoopwitherror:java.lang.UnsatisfiedLinkError:nohadoopinjava.library.path它还会抛出关于kebrorsathuentication的错误org.apache.hadoop.security.authentication.util.KerberosUti

apache-spark - Spark 作业未显示在 Google Cloud 的 Hadoop UI 中

我在GoogleCloud中创建了一个集群并提交了一个Spark作业。然后我按照theseinstructions连接到UI:我创建了一个ssh隧道并用它打开Hadoopweb界面。但工作没有出现。一些额外的信息:如果我通过ssh连接到集群的主节点并运行spark-shell,这个“作业”会显示在hadoop网络界面中。我很确定我以前做过这个并且我可以看到我的作业(包括正在运行的和已经完成的)。我不知道他们之间发生了什么才停止出现。 最佳答案 问题是我在本地模式下运行作业。我的代码有一个.master("local[*]")导致了这

apache-spark - 如何知道 Spark 集群 'participate' 中的机器是否有作业

我想知道什么时候可以安全地从集群中的机器上删除节点。我的假设是,如果机器没有任何容器,并且它不存储任何有用的数据,那么移除机器可能是安全的。通过https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html的API,我们可以做到GEThttp:///ws/v1/cluster/nodes获取每个节点的信息如/default-rackRUNNINGhost1.domain.com:54158host1.domain.comhost1.domain.com:804214

client - Hadoop:提交作业后客户端的高 CPU 负载

我在浏览一些Hadoop指南时找不到问题的答案:我正在通过客户端计算机上的shell脚本一次性提交各种Hadoop作业(最多200个)。每个作业都通过一个JAR(相当大;大约150MB)启动。提交作业后,客户端计算机的CPU负载非常高(每个内核都在100%),并且RAM很快变满。这样,客户端就不再可用了。我认为每个作业的计算完全在Hadoop框架内完成,作业运行时集群和客户端之间只交换一些状态信息。那么,为什么客户端会完全拉伸(stretch)?我是否以错误的方式提交Hadoop作业?每个JAR是否太大?提前致谢。 最佳答案 这与j

java - 重新运行 Hadoop 作业,分区的 mapoutput 是否仍会转到相同的 Reducers?

在hadoop中,假设节点的数量是固定的(在运行期间没有服务器崩溃),如果我使用相同的分区器(例如,在映射输出的键上进行哈希分区)来分区映射器输出,并且我执行读取同一个数据集两次的作业。确定同一个key的数据会去同一个reducer吗?谢谢例如,我的map输出包含两行:键|值一个|任何东西乙|任何东西假设,我有两个reducer1和2。在第一次运行中,行“A|anything”进入reducer1,“B|anything”进入reducer2。如果我再次运行,是否有可能“A|anything”进入reducer2,而“B|anything”进入reducer1?谢谢!

java - Hadoop 作业挂起等待被杀死

我有多个Hadoop作业执行不同的处理。当其中一些(自定义业务异常)发生异常时,它会传播到map()方法,作业会立即终止。然而,一些作业在映射器类的setup()方法中抛出异常。当发生这种情况时,作业会挂起40分钟(我的Hadoop计时器必须设置为此),并且根据任务重新运行策略,我必须等待4*40=160分钟。在这种特殊情况下,其中一个业务类抛出IllegalArgumentException。我怎样才能处理这个漫长的“工作卡在云端”的时期,同时保持我的计时器不变? 最佳答案 您可以在命令行上使用hadoopjob-kill终止作业

java - 从 hadoop 作业写入 Cassandra 时出现 ClassCast 错误

我正在运行一个hadoop作业并尝试将输出写入Cassandra。我收到以下异常:java.lang.ClassCastException:org.apache.hadoop.io.Textcannotbecasttojava.nio.ByteBufferatorg.apache.cassandra.hadoop.ColumnFamilyRecordWriter.write(ColumnFamilyRecordWriter.java:60)atorg.apache.hadoop.mapred.ReduceTask$NewTrackingRecordWriter.write(Reduce

java - 在没有 jar 的情况下从 java 代码调用 hadoop 作业

我使用这段代码来运行字数统计hadoop作业。当我使用hadoopeclipse插件从eclipse内部运行它时,WordCountDriver运行。当我将mapper和reducer类打包为jar并将其放入类路径中时,WordCountDriver也会从命令行运行。但是,如果我尝试从命令行运行它而不将mapper和reducer类作为jar添加到类路径,尽管我将这两个类都添加到了类路径,但它会失败。我想知道hadoop是否有一些限制接受映射器和缩减器类作为普通类文件。创建一个jar总是强制性的吗?publicclassWordCountDriverextendsConfiguredi

hadoop mapred 作业 - 初始化尝试 mapred 任务时出错

我不小心删除了hadoop.tmp.dir,在我的例子中是/tmp/{user.name}/*。现在每次当我从CLI运行配置单元查询时,mapred作业将在任务尝试时失败,如下所示:Errorinitializingattempt_201202231712_1266_m_000009_0:org.apache.hadoop.util.DiskChecker$DiskErrorException:Couldnotfindanyvalidlocaldirectoryforttprivate/taskTracker/hdfs/jobcache/job_201202231712_1266/jo